<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>lesson 7</title>
  <script src="https://unpkg.com/vue@next"></script>
</head>

<body>
  <div id="root"></div>
  <div id="root1"></div>
  <div id="root2"></div>
  <div id="root3"></div>

  <!-- <div id="root"></div> -->
</body>
<script>
  // {{}} 插值表达式
  // v-html，v-bind(:)，v-on(@), v-once只使用一次不再次渲染，v-if的值决定标签是否展示,
  // 动态参数，用中括号[data中的数据] 如v-bind:[attr]="这是一个图片" data中定义attr:'title' v-on也可以使用动态参数
  // 修饰符 用来简化常用代码的编写 如下面例子中@click.prevent 这里的prevent就是修饰符 是vue提供的常用的e.prevent简写

  //v-html
  const app = Vue.createApp(
    {
      data() {
        return { message: "<strong> hello world </strong>" }
      },
      template: `<div v-html="message"></div>`
    }
  )
  const vm = app.mount('#root');

  //v-bind 可以用:简写
  const app1 = Vue.createApp(
    {
      data() {
        return { message1: " hello world " }
      },
      template: `<div v-bind:title="message1"></div>`
    }
  )
  const vm1 = app.mount('#root1');

  // v-if
  const app2 = Vue.createApp(
    {
      data() {
        return { message2: " hello world ", show: true }
      },
      template: `<div v-if="show">{{message2}}</div>`
    }
  )
  const vm2 = app.mount('#root2');

  // v-on 可以用@简写
  const app3 = Vue.createApp({
    data() {
      return {
        message: "hello world",
        show: false,
      }
    },
    methods: {
      handleClick() {
        alert('click')
      }
    },
    template: `
      <form action="https://www.baidu.com" @click.prevent="handleClick">
        <button type="submit">提交</button>
      </form>
    `
  });
  const vm3 = app.mount('#root');

</script>

</html>